package com.jsyl.lwbk.business.mapper;

import com.jsyl.lwbk.business.domain.ScaleEvaluateModule;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ScaleEvaluateModuleMapper {
    int insert(ScaleEvaluateModule record);

    ScaleEvaluateModule selectById(Long id);

    int updateById(ScaleEvaluateModule record);

    /**
     * 查询测评模块的量表类型
     *
     * @param evaluateModule
     * @return
     */
    Integer selectEvaluateModuleScaleType(@Param("evaluateModule") Integer evaluateModule);

    /**
     * 根据分数查询对应量表（因为配置关系，可能会有多条）
     *
     * @return
     */
    List<ScaleEvaluateModule> findByScore(@Param("evaluateModule") Integer evaluateModule, @Param("score") Integer score);

    /**
     * 查询正确答案量表
     *
     * @param evaluateModule
     * @return
     */
    ScaleEvaluateModule findRightByScore(@Param("evaluateModule") Integer evaluateModule);


    /**
     * 根据出现次数查询对应量表（因为配置关系，可能会有多条）
     *
     * @param evaluateModule
     * @param tallyType
     * @return
     */
    List<ScaleEvaluateModule> findByCount(@Param("evaluateModule") Integer evaluateModule, @Param("tallyType") Integer tallyType);

    /**
     * 查询正确答案量表
     *
     * @param evaluateModule
     * @return
     */
    ScaleEvaluateModule findRightByCount(@Param("evaluateModule") Integer evaluateModule);
}
